// 
// DotNetNuke?- http://www.dotnetnuke.com 
// Copyright (c) 2002-2011 
// by DotNetNuke Corporation 
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
// to permit persons to whom the Software is furnished to do so, subject to the following conditions: 
// 
// The above copyright notice and this permission notice shall be included in all copies or substantial portions 
// of the Software. 
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
// DEALINGS IN THE SOFTWARE. 
// 

using System;
using System.Configuration;
using System.Data;

namespace CharityGamesOnline.Modules.Account
{

    /// ----------------------------------------------------------------------------- 
    /// <summary> 
    /// The Info class for Account 
    /// </summary> 
    /// <remarks> 
    /// </remarks> 
    /// <history> 
    /// </history> 
    /// ----------------------------------------------------------------------------- 
    public class AccountInfo
	{
		#region "Private Members"
		int _userID;
        string _userName;        
		int _portalID;
		decimal _token;        
        DateTime _lastUpdateDate;        
		#endregion
		
		#region "Constructors"
        public AccountInfo()
        {
		}

        #endregion
		
		#region "Public Properties"
		public int UserID
		{
			get{return _userID;}
			set{_userID = value;}
		}

        public string UserName
        {
            get { return _userName; }
            set { _userName = value; }
        }

		public int PortalID
		{
			get{return _portalID;}
			set{_portalID = value;}
		}
		
		public decimal Token
		{
			get{return _token;}
			set{_token = value;}
		}
       
        public DateTime LastUpdateDate
        {
            get { return _lastUpdateDate; }
            set { _lastUpdateDate = value; }
        }
		#endregion
	}

    public class AccountLogInfo
    {
        #region "Private Members"
        int _rank;
        int _totalRowCount;
        int _accountLogID;
        int _userID;
        int _portalID;        
        decimal _token;
        int _paymentID;
        string _comment;
        DateTime _logTime;
        #endregion

        #region "Constructors"
        public AccountLogInfo()
        {
        }

        public AccountLogInfo(AccountInfo objAccount)
        {
            PortalID = objAccount.PortalID;
            UserID = objAccount.UserID;
            Token = objAccount.Token;
        }
        #endregion

        #region "Public Properties"

        public int Rank
        {
            get { return _rank; }
            set { _rank = value; }
        }

        public int TotalRowCount
        {
            get { return _totalRowCount; }
            set { _totalRowCount = value; }
        }

        public int AccountLogID
        {
            get { return _accountLogID; }
            set { _accountLogID = value; }
        }

        public int UserID
        {
            get { return _userID; }
            set { _userID = value; }
        }

        public int PortalID
        {
            get { return _portalID; }
            set { _portalID = value; }
        }

        public decimal Token
        {
            get { return _token; }
            set { _token = value; }
        }

        public int PaymentID
        {
            get { return _paymentID; }
            set { _paymentID = value; }
        }

        public string Comment
        {
            get { return _comment; }
            set { _comment = value; }
        }
        
        public DateTime LogTime
        {
            get { return _logTime; }
            set { _logTime = value; }
        }
        #endregion
    }

    public class PaymentInfo
    {
        #region Public Members
        public enum STATUS { WaitingForPay = 1, Processing = 2, Completed = 3, Failed = 4, Refund = 5, Cancel = 6 };
        #endregion

        #region "Private Members"
        int _rank;
        int _totalRowCount;
        int _paymentID;
        int _portalID;
        int _userID;
        string _userName;        
        decimal _amount;
        int _statusID;
        string _paymentStatus;
        int _enrollmentID;        
        DateTime _createdDate;
        DateTime _lastUpdateDate;
        #endregion

        #region "Constructors"
        public PaymentInfo()
        {
        }        
        #endregion

        #region "Public Properties"

        public int Rank
        {
            get { return _rank; }
            set { _rank = value; }
        }

        public int TotalRowCount
        {
            get { return _totalRowCount; }
            set { _totalRowCount = value; }
        }

        public int PaymentID
        {
            get { return _paymentID; }
            set { _paymentID = value; }
        }

        public int PortalID
        {
            get { return _portalID; }
            set { _portalID = value; }
        }

        public int UserID
        {
            get { return _userID; }
            set { _userID = value; }
        }

        public string UserName
        {
            get { return _userName; }
            set { _userName = value; }
        }

        public decimal Amount
        {
            get { return _amount; }
            set { _amount = value; }
        }

        public int StatusID
        {
            get { return _statusID; }
            set { _statusID = value; }
        }

        public string PaymentStatus
        {
            get { return _paymentStatus; }
            set { _paymentStatus = value; }
        }

        public int EnrollmentID
        {
            get { return _enrollmentID; }
            set { _enrollmentID = value; }
        }

        public DateTime CreatedDate
        {
            get { return _createdDate; }
            set { _createdDate = value; }
        }

        public DateTime LastUpdateDate
        {
            get { return _lastUpdateDate; }
            set { _lastUpdateDate = value; }
        }
        #endregion
    }

    public class PaymentLogInfo
    {
        #region "Private Members"
        int _paymentLogID;
        int _paymentID;
        string _appID;
        string _productKey;
        int _productQuantity;
        string _transactionID;
        string _transType;
        string _approvalCode;
        bool _isTest;
        string _pageNumber;
        string _receiptNumber;
        string _salesOrderNumber;
        #endregion

        #region "Constructors"
        public PaymentLogInfo()
        {
        }        
        #endregion

        #region "Public Properties"
        public int PaymentLogID
        {
            get { return _paymentLogID; }
            set { _paymentLogID = value; }
        }

        public int PaymentID
        {
            get { return _paymentID; }
            set { _paymentID = value; }
        }

        public string AppID
        {
            get { return _appID; }
            set { _appID = value; }
        }

        public string ProductKey
        {
            get { return _productKey; }
            set { _productKey = value; }
        }

        public int ProductQuantity
        {
            get { return _productQuantity; }
            set { _productQuantity = value; }
        }

        public string TransactionID
        {
            get { return _transactionID; }
            set { _transactionID = value; }
        }

        public string TransType
        {
            get { return _transType; }
            set { _transType = value; }
        }

        public string ApprovalCode
        {
            get { return _approvalCode; }
            set { _approvalCode = value; }
        }

        public bool IsTest
        {
            get { return _isTest; }
            set { _isTest = value; }
        }

        public string PageNumber
        {
            get { return _pageNumber; }
            set { _pageNumber = value; }
        }

        public string ReceiptNumber
        {
            get { return _receiptNumber; }
            set { _receiptNumber = value; }
        }

        public string SalesOrderNumber
        {
            get { return _salesOrderNumber; }
            set { _salesOrderNumber = value; }
        }
        #endregion
    }

}